Previous Page TOC See Page

C

VBScript Programmierkonventionen

Programmierkonventionen sind nicht mehr als eine Sammlung von Regeln für eine gute Programmierpraxis. Ein Computer versteht auch »Spaghetti-Code« (angehäufter, unordentlicher Code, der für jeden Menschen, der ihn zu verstehen versucht, keinerlei Sinn ergibt) und anderen Unsinn, der jeden normalen Menschen in den Wahnsinn treiben würde. Indem man sich an ein paar einfache Grundregeln hält, kann man dafür sorgen, daß nicht nur andere ihn verstehen können, die ihn möglicherweise instandhalten müssen, sondern man versteht ihn möglicherweise selbst noch sechs Monate nachdem man ihn geschrieben hat.

Diese Grundregeln bauen auf allgemein akzeptierten Regeln für guten Programmierstil auf, aber sie sind nirgendwo in Stein gemeißelt. Nehmen Sie sich davon, was Ihnen gefällt und verändern Sie das, was Sie nicht mögen. Stellen Sie sich Ihre eigenen Regeln auf, die Sie verstehen und anderen erklären können, wenn dafür Bedarf sein sollte. In jedem Falle sollten Sie sich jedoch eisern an die Regeln halten, die Sie einmal auswählen.

Controls

Wenn Sie mit einem Werkzeug wie dem VB IDE oder dem ActiveX-Control-Pad ein Control erstellen, dann wird das Control mit einem voreingestellten Namen versehen, wie z. B. »Frame1«. Sie können zwar beliebige Namen einsetzen, aber es wird allgemein als sinnvoll angesehen, diesen voreingestellten Namen durch einen aussagekräftigeren zu ersetzen. Es ist auch sehr hilfreich, einen Präfix zu verwenden, damit Sie wissen, um welchen Control-Typ es sich handelt, wenn Sie sich den entsprechenden Code ansehen. »Frame1« sagt Ihnen zum Beispiel, daß das entsprechende Objekt ein Frame-Control ist. »Options« gibt Ihnen einen Hinweis, worauf sich das Objekt bezieht und »fraOptions« läßt den Schluß zu, daß Sie es mit einem Frame-Control zu tun haben, das sich irgendwie auf Optionen bezieht.

Seit der Einführung von Visual Basic ist es zu weitverbreiteten Sammlungen von Controlnamen-Präfixen gekommen. Wenn Sie sich dieser Präfixe bedienen, wird es nie Verwirrung darüber geben, welchen Typ von Control Sie gerade einsetzen.

Es gibt insgesamt Tausende von ActiveX-Controls. D. h., daß man irgendwann entweder denselben drei-Buchstaben-Präfix für zwei verschiedene Controls verwenden muß, oder aber längere (oder kürzere) Präfixe verwendet, um die Controls zu unterscheiden.

In Tabelle C.1 haben wir einige typische Präfixe aufgelistet, wie sie von Microsoft vorgeschlagen werden.

Tabelle C.1: Typische ControlsPraefixeActiveXPraefixeActiveX-ControlPräfixe

Control-Typ

Präfix

3D Panel

pnl

Animated Button

ani

CheckBox

chk

ComboBox

cbo

Command Button

cmd

CommonDialog

dlg

Frame

fra

Horizontal ScrollBar

hsb

Image

img

Label

lbl

Line

lin

ListBox

lst

Spin

spn

TextBox

txt

Vertical ScrollBar

vsb

Slider

sld

Variablen und Konstanten

Variablen sollten wie Controls auch Präfixe erhalten, um identifiziert werden zu können. Man sollte dabei nicht nur den Typ der Variable dokumentieren, sondern auch versuchen, anzuzeigen, ob es sich um eine globale Variable handelt oder nicht. Wenn wir den in Tabelle C.1 vorgeschlagenen Präfix für eine Integer-Varialbe verwenden und entsprechend ergänzen, könnte das so aussehen: »sintUserID«.

Erinnern Sie sich daran, daß diese Präfixe nur dazu dienen, den Code für andere Leute (und natürlich auch für Sie) lesbarer zu machen. Wenn Sie einer Zeichenkette den Präfix »byt« geben, wird sie dazu nicht zu einem Byte!


Funktionen geben Werte zurück (und führen natürlich Programmcode aus). Daher sollten Sie für Ihre Funktions-Deklarationen ebenfalls Präfixe verwenden.

In Tabelle C.2 haben wir einige typische Präfixe für Variablen aufgelistet, wie sie von Microsoft vorgeschlagen werden.

Tabelle C.2: Präfixe für VariablennamenPraefixe

Variablentyp

Präfix

Boolean

bln

Byte

byt

Date/Time

dtm

Double

dbl

Error

err

Integer

int

Long

lng

Object

obj

Single

sng

String

str

Prozeduren

Prozedurennamen sollten wie Variablennamen beschreibend vergeben werden. Funktionen sollten wie Variablen einen Präfix entsprechend der Beispiele in Tabelle C.2 erhalten, da sie einen Wert zurückgeben. Subprozeduren geben andererseits keinen Wert zurück und benötigen daher keinen Präfix.

Schleifen, Blöcke und Leerräume

Ein sinnvoller Einsatz von LeerräumenLeerraeumeProgrammierkonventionenVBScriptLeerraeumeVBScriptProgrammierkonventionen erleichtert das Lesen. Genauso erleichtert ein sinnvoll formatierter Code das Verständnis. Wenn SchleifenBloeckeProgrammierkonventionenVBScriptBloeckeVBScriptProgrammierkonventionen und andere Strukturen sinnvoll eingerückt werden, ist der Programmablauf auf einen Blick erkennbar. Es ist wesentlich einfacher, Fehler in einem Programmcode zu finden, wenn jede »If/Then«-Anweisungen ein paar Leerzeichen weiter eingerückt ist, als die der vorhergehenden Ebene. Es mag ein bißchen bequemer sein, den gesamten Code einfach linksbündig einzugeben, aber das rächt sich später bei der Pflege des Progamms auf furchtbarste Weise.

Wenn Sie einfach jede Ebene einer Schleife oder eines Blocks um drei oder vier Leerzeichen einrücken, sind Sie auf dem richtigen Weg.

Hier ist ein Beispiel, wie ein Programmcode typischerweise aussehen sollte:

Sub CheckOrder
For intC = intStart to intFinish
If intRequired(intC) <= intOnHand Then
Select Case intOnHand
Case intReorderLevel
GeneratePO
ProcessOrder
Case Is < intReorderLevel
ProcessOrder
End Select

Else
NotifyReceiving
EndIf
Next
End Sub

Vergleichen Sie den vorangegangenen Code-Abschnitt mit dem folgenden und überlegen Sie sich, mit welcher Variante Sie wohl lieber arbeiten würden:

Sub CheckOrder
For intC = intStart to intFinish
If intRequired(intC) <= intOnHand Then
Select Case intOnHand
Case intReorderLevel
GeneratePO
ProcessOrder
Case Is < intReorderLevel
ProcessOrder
End Select
Else
NotifyReceiving
EndIf
Next
End Sub

Außer Leerzeichen für das Einrücken von Codeblöcken sollten Sie für große Code-Abschnitte (Skripten und größere Abschnitte innerhalb der Skripten) auch Leerzeichen zur Trennung verwenden, um sie optisch auseinanderzuhalten.

Kommentare

Es ist wichtig, daß Sie jede bedeutende Sache innerhalb Ihres Programmes kommentieren. Fügen Sie vor dem Beginn jeder Prozedur ein paar eingerückte Kommentarblöcke ein (und auch bei jedem größeren Abschnitt innerhalb einer Prozedur) und beschreiben Sie den Zweck des nachfolgenden Codes und stellen Sie aussagekräftige Informationen zur Verfügung, wie dieser Zweck erreicht wird. Beschreiben Sie die verwendeten Variablen und welche verändert und welche weitergegeben werden.

Sie sollten auch am Ende wichtiger Code-Zeilen Kommentare anfügen und erklären, was dort geschieht.

HTML-Besonderheiten

Während dieses Buch in den Druck geht, ist noch nicht klar, wo man innerhalb von HTML-Seiten die Skripten plazieren soll. Einige sind der Auffassung, daß Microsoft empfiehlt, sie in dem <HEAD>-Abschnitt unterzubringen. Andere empfehlen, sie an den Schluß des <BODY>-Abschnitts zu stellen. Dies ist wirklich in erster Linie eine Stilfrage, da die Ausführung der Scripts von deren Position nicht beeinflußt wird.

Wo auch immer Sie Ihre Skripten plazieren, umschließen Sie sie mit den HTML-Kommentarbefehlen (<!--...-->), um zu verhindern, daß sie von Browsern, die Skripten nicht erkennen, als Text auf dem Bildschirm dargestellt werden.

Auch wenn Browser, die sie nicht unterstützen, nichts weiter mit ihnen anfangen werden, so werden Controls doch sichtbar werden, wenn Sie sie innerhalb von <FORM>-Blöcken unterbringen.


(c) 1997 Que
Ein Imprint des Markt&Technik Buch- und Software- Verlag GmbH
Elektronische Fassung des Titels: Special Edition VB Script, ISBN: 3-8272-1011-9

Previous Page Page Top TOC See Page